Field
This disclosure provides techniques for simulating and rendering materials in computer animation.
Description of the Related Art
In computer animation physics engines, “solvers” are used to simulate physical behavior of objects (e.g., the physical response of an object to a collision with another object). These solvers typically employ numerical techniques to approximate the physics so that simulations can be efficiently performed on a computer. Specialized solvers have been used to simulate a variety of phenomena in graphics and computational physics. Such solvers include fluid simulators, rigid body simulators, and cloth simulators, among others, each of which is suited to simulate behavior of a particular type of material. For example, fluid simulators are suited for simulating liquids which deform with no memory, while rigid body simulators are suited for simulating destruction and debris where there is no deformation (e.g., glass shattering).
Such traditional simulators have difficulty simulating materials across different states and undergoing phase transitions, such as ice melting into water, lava solidifying into pāhoehoe, butter melting in a pan, and the like. The difficulty lies in achieving robust, accurate, and efficient simulation of a wide variety of material behaviors without requiring overly complex implementations. Explicit coupling between solid and fluid solvers has been proposed, but such coupling typically requires complex implementation and has significant computation costs.